// payment-recordDetails.js
Page({
  data: {
    billDetails: null,
    amount: '0.00',
    company: '智慧社区',
    infoList: [],
    loading: true
  },

  onLoad(options) {
    console.log('缴费详情页接收到的参数:', options);
    
    // 从URL参数中获取账单数据
    if (options && options.id) {
      this.processBillData(options);
    } else {
      this.handleNoData();
    }
  },

  // 处理账单数据
  processBillData(options) {
    try {
      // 构建账单详情对象
      const billDetails = {
        id: options.id || '',
        billName: decodeURIComponent(options.billName || ''),
        billNumber: decodeURIComponent(options.billNumber || ''),
        chargeEndTime: decodeURIComponent(options.chargeEndTime || ''),
        chargeScope: decodeURIComponent(options.chargeScope || '0.00'),
        paymentStatus: parseInt(options.paymentStatus || '0'),
        description: decodeURIComponent(options.description || '无特殊说明')
      };

      console.log('处理后的账单数据:', billDetails);

      // 设置金额和公司信息
      const amount = billDetails.chargeScope || '0.00';
      const company = '智慧社区';

      // 构建信息列表
      const infoList = [
        { label: '账单编号', value: billDetails.billNumber || '暂无' },
        { label: '费用名称', value: billDetails.billName || '暂无' },
        { label: '费用金额', value: `¥${billDetails.chargeScope || '0.00'}` },
        { label: '缴费日期', value: billDetails.chargeEndTime || '暂无' },
        { label: '缴费状态', value: billDetails.paymentStatus === 0 ? '已缴费' : '未缴费' },
        { label: '缴费说明', value: billDetails.description || '无' }
      ];

      // 设置页面标题
      wx.setNavigationBarTitle({
        title: billDetails.billName || '缴费详情'
      });

      this.setData({
        billDetails: billDetails,
        amount: amount,
        company: company,
        infoList: infoList,
        loading: false
      });

    } catch (error) {
      console.error('处理账单数据时出错:', error);
      this.handleNoData();
    }
  },

  // 处理无数据情况
  handleNoData() {
    console.error('未接收到有效的账单数据');
    this.setData({
      loading: false,
      billDetails: null,
      infoList: []
    });

    wx.showModal({
      title: '数据错误',
      content: '未能获取到账单信息，请返回重试',
      showCancel: false,
      success: () => {
        wx.navigateBack();
      }
    });
  },

  // 处理缴费按钮点击
  handlePay() {
    const { billDetails } = this.data;
    
    if (!billDetails) {
      wx.showToast({
        title: '账单信息不存在',
        icon: 'error'
      });
      return;
    }

    if (billDetails.paymentStatus === 0) {
      wx.showToast({
        title: '该账单已缴费',
        icon: 'success'
      });
      return;
    }

    wx.showModal({
      title: '确认缴费',
      content: `确定要缴纳 ${billDetails.billName} 费用吗？\n金额：¥${billDetails.chargeScope}`,
      success: (res) => {
        if (res.confirm) {
          this.processPayment();
        }
      }
    });
  },

  // 处理缴费流程
  processPayment() {
    const { billDetails } = this.data;
    
    wx.showLoading({
      title: '处理中...'
    });

    // 模拟缴费处理
    setTimeout(() => {
      wx.hideLoading();
      
      // 这里应该调用实际的缴费接口
      // 目前只是模拟成功
      wx.showModal({
        title: '缴费成功',
        content: `已成功缴纳 ${billDetails.billName}\n金额：¥${billDetails.chargeScope}`,
        showCancel: false,
        success: () => {
          // 更新本地状态
          this.setData({
            'billDetails.paymentStatus': 0
          });
          
          // 更新信息列表中的缴费状态
          const updatedInfoList = this.data.infoList.map(item => {
            if (item.label === '缴费状态') {
              return { ...item, value: '已缴费' };
            }
            return item;
          });
          
          this.setData({
            infoList: updatedInfoList
          });
        }
      });
    }, 2000);
  },

  // 页面显示时刷新数据
  onShow() {
    // 可以在这里刷新数据，如果需要的话
  },

  // 分享功能
  onShareAppMessage() {
    const { billDetails } = this.data;
    return {
      title: billDetails ? `${billDetails.billName} - 缴费详情` : '缴费详情',
      path: '/mine/pages/payment-record/payment-record'
    };
  }
});
    